package educar.controllers;


import javax.swing.JTable;

import educar.gui.IView;
import educar.gui.admin.SearchMateria;
import educar.idioma.Locale;
import educar.models.Teacher;


/**
 * Permite buscar una materia
 * en la tabla materia
 */
public class SearchMateriaController implements IController {
	private SearchMateria view;
	private JTable table;
	
	/**
	 * Constructor
	 * @param table "JTable sobre la cual se busca"
	 */
	public SearchMateriaController(JTable table) {
		this.table = table;
	}


	public void process(String model){
		/*guardo el texto a buscar*/
		String toSearch = view.getTextToSearch();
		boolean result = false;
		/*busco en la tabla segun la fila 0:numero 1:nombre*/
        for(int row = 0; row < table.getRowCount(); row++) {
            /*si lo actual es igual a lo buscado*/
            if(table.getValueAt(row, view.getColumna())!=null) {
            	if (view.getColumna()==3) {
            		Teacher t = (Teacher)table.getValueAt(row, 3);
            		result  = t.comparar(toSearch);
            		if (result) {
            			table.setRowSelectionInterval(row,row);
            			return;
            		}
            	}
            	else {
            	String tmp = table.getValueAt(row, view.getColumna()).toString();
	            if(tmp.equals(toSearch))  
	                {
	            	 /*selecciono la fila adecuada*/
	            	 table.setRowSelectionInterval(row,row);
	            	 result = true;
	            	 return;
	                }  
	            }
        	}
        }
        /*si no lo encontre cartel de no encontrado*/
        if (!result) {
        	view.present(Locale.NOT_FOUND);
        }
		
	}

	public void setView(IView view) {
		this.view = (SearchMateria) view;
	}

}
